package cn.hk.vaccination.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 预约信息表
 * </p>
 *
 * @author xu
 * @since 2023-03-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mms_subscribe_info")
@ApiModel(value="SubscribeInfo对象", description="预约信息表")
public class SubscribeInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "唯一标识")
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "预约计划id")
    private Long planId;

    @ApiModelProperty(value = "用户id")
    private Long userId;

    @ApiModelProperty(value = "所属科室")
    private Long deptId;

    @ApiModelProperty(value = "备注信息")
    private String remarks;

    @ApiModelProperty(value = "状态 0：未预约  1：已预约 2 已完成")
    private Integer state;

    @ApiModelProperty(value = "所选疫苗记录id")
    private Long vaccineRecordsId;

    @ApiModelProperty(value = "预约时间")
    private String subscribeTime;

    @ApiModelProperty(value = "预约时间段")
    private String timeSolt;

    @ApiModelProperty(value = "创建时间")
    private String createTime;

    @ApiModelProperty(value = "1儿童接种、2儿童保健、3儿童门诊、4孕妇产检、5孕妇接种、6孕妇门诊、7老年人体检、8老年人接种、9老年人门诊、10普通人接种、11普通人门诊")
    private Integer planType;

    @ApiModelProperty(value = "预约号")
    private String subscribeCode;

    @ApiModelProperty(value = "用户群(1儿童 2孕妇 3 普通人 4老年人 5慢性病)")
    private String userType;

    @ApiModelProperty(value = "社区ID")
    private Long communityId;

    @ApiModelProperty(value = "是否签到 1 是 2 否")
    private Integer isAbsence;

    @ApiModelProperty(value = "关联疫苗id")
    @TableField("v_pid")
    private Long vid;

    @ApiModelProperty(value = "完成时间")
    private String successTime;

    @ApiModelProperty(value = "就诊状态(0等待就诊 2就诊中 3诊结)")
    private Integer seeDoctorState;

    @ApiModelProperty(value = "是否过号(0未过号 1已过号)")
    private Integer overNumber;

    @ApiModelProperty(value = "现场备注")
    private String sceneRemark;

    @ApiModelProperty(value = "是否过号补签(0否 1是)")
    private Integer overNumberBq;

    @ApiModelProperty(value = "是否医生呼号(0否 1是)")
    private Integer isDoctorNum;

    @ApiModelProperty(value = "医生呼号时间")
    private Date doctorNumTime;

    @ApiModelProperty(value = "过号补签时间")
    private Date overNumTime;

    @ApiModelProperty(value = "过号时间")
    private Date overTime;

    @ApiModelProperty(value = "计划名称")
    @TableField(exist = false)
    private String pname;

    @ApiModelProperty(value = "科室名称")
    @TableField(exist = false)
    private String dname;

    @ApiModelProperty(value = "社区名称")
    @TableField(exist = false)
    private String cname;

    @ApiModelProperty(value = "疫苗名称")
    @TableField(exist = false)
    private String vname;

    @ApiModelProperty(value = "预约项详情id")
    @TableField(exist = false)
    private Long subscribeDetailId;


}
